/**
 * Koa router 动态注册路由 /初始化挂载注册所有的路由
 * https://blog.51cto.com/u_12836588/5742521
 * https://api.dandelioncloud.cn/article/details/1418936155785195522
 */
const Router = require("koa-router");
const router = new Router();

const fs = require("fs");
const path = require("path");

const files = fs.readdirSync(__dirname);

files
  // 过滤非js文件
  .filter((file) => file.endsWith(".js"))
  .forEach((item) => {
    // 当前文件夹名（只包含英文）
    const file_name = item.substring(0, item.length - 3);
    // 每个文件的路由对象
    const file_entify = require(path.join(__dirname, item));

    // 排除index.js文件，因为这个文件不是具体的路由文件
    if (file_name !== "index") {
      router.use(file_entify.routes()).use(file_entify.allowedMethods());
    }
  });

module.exports = router;
